<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/Inventory.BusinessEntities" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/Inventory.BusinessEntities" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:complexType name="InventoryRequest">
    <xs:sequence>
      <xs:element minOccurs="0" name="ProductId" type="xs:int" />
      <xs:element minOccurs="0" name="ProductIdType" type="tns:ProductIdType" />
      <xs:element minOccurs="0" name="StoreNumber" type="xs:int" />
      <xs:element minOccurs="0" name="StoreNumberType" type="tns:StoreNumberType" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="InventoryRequest" nillable="true" type="tns:InventoryRequest" />
  <xs:simpleType name="ProductIdType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="AllUsersProducts" />
      <xs:enumeration value="IndividualProduct" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="ProductIdType" nillable="true" type="tns:ProductIdType" />
  <xs:simpleType name="StoreNumberType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="AllStores" />
      <xs:enumeration value="AllUsersStores" />
      <xs:enumeration value="IndividualStore" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="StoreNumberType" nillable="true" type="tns:StoreNumberType" />
  <xs:complexType name="ArrayOfStoreWithInventory">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="StoreWithInventory" nillable="true" type="tns:StoreWithInventory" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfStoreWithInventory" nillable="true" type="tns:ArrayOfStoreWithInventory" />
  <xs:complexType name="StoreWithInventory">
    <xs:sequence>
      <xs:element minOccurs="0" name="Inventory" nillable="true" type="tns:ArrayOfInventoryInfo" />
      <xs:element minOccurs="0" name="Store" nillable="true" type="tns:InvStore" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StoreWithInventory" nillable="true" type="tns:StoreWithInventory" />
  <xs:complexType name="ArrayOfInventoryInfo">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="InventoryInfo" nillable="true" type="tns:InventoryInfo" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfInventoryInfo" nillable="true" type="tns:ArrayOfInventoryInfo" />
  <xs:complexType name="InventoryInfo">
    <xs:sequence>
      <xs:element minOccurs="0" name="NumberInStock" type="xs:int" />
      <xs:element minOccurs="0" name="Product" nillable="true" type="tns:ProductListItem" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="InventoryInfo" nillable="true" type="tns:InventoryInfo" />
  <xs:complexType name="ProductListItem">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ProductListItem" nillable="true" type="tns:ProductListItem" />
  <xs:complexType name="InvStore">
    <xs:sequence>
      <xs:element minOccurs="0" name="Address" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="City" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Hours" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Latitude" nillable="true" type="xs:decimal" />
      <xs:element minOccurs="0" name="Longitude" nillable="true" type="xs:decimal" />
      <xs:element minOccurs="0" name="StoreNumber" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="InvStore" nillable="true" type="tns:InvStore" />
  <xs:complexType name="ArrayOfProductListItem">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ProductListItem" nillable="true" type="tns:ProductListItem" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfProductListItem" nillable="true" type="tns:ArrayOfProductListItem" />
</xs:schema>